﻿

namespace GaleSong
{
    /// <summary>
    ///     Denotes a dialog.
    /// </summary>
    public interface IDialog : IView
    {
        bool IsOK { get; }
        bool IsNew { get; set; }
        void Initialize();
        void Show();
        void Show<T>(T t);
        void ShowDialog();
        void ShowDialog<T>(T t);
    }

    /// <summary>
    ///     Denotes a manager class that manage the <see cref="IDialog" />s.
    /// </summary>
    public interface IDialogManager<T> where T : IDialog
    {
        IObservableCollection<T> Items { get; }
        T this[string name] { get; }
    }
}